#pragma once
#include "Interface.h"

//===========================================================================
// Position
//===========================================================================
class Position : public IPosition
{
public :
    
    Position( void );
    
    Position(
        const IPosition & position
    );
    
    Position(
        unsigned int x,
        unsigned int y
    );
    
    ~Position( void );

    void Set(
        unsigned int x,
        unsigned int y
    );
    
    unsigned int GetX( void ) const {
        return this->m_x;
    }
    
    unsigned int GetY( void ) const {
        return this->m_y;
    }

    static unsigned int GetRowDiff(
        const IPosition & from,
        const IPosition & to
    );

private :

    unsigned int m_x;
    unsigned int m_y;
};

